home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol330 / gagsdocs.arc / PART4.DOC < prev    next >
Encoding:
Text File  |  1986-06-15  |  20.2 KB  |  455 lines

  1.  
  2.       
  3.       
  4.                      
  5.  
  6.  
  7.  
  8.  
  9.                               REFERENCE MANUAL
  10.       
  11.                                   for the 
  12.       
  13.                        GENERIC ADVENTURE GAME SYSTEM
  14.       
  15.                           
  16.  
  17.                                      by
  18.                   
  19.                                Mark J. Welch
  20.  
  21.                       
  22.                              September 1, 1985
  23.                               Modified 6-15-86
  24.                        
  25.  
  26.                       Copyright 1985, 1986 by Mark J. Welch
  27.  
  28.                             All Rights Reserved
  29.  
  30.  
  31.        _____________________________________________________________
  32.       |                                                             |
  33.       |  The Generic Adventure Game System, in all source code and  |
  34.       |  object code formats, and all related documents, are copy-  |
  35.       |  right 1985,1986 by Mark Welch. The Generic Adventure Game  |
  36.       |  System is distributed as Shareware, with restrictions as   |
  37.       |  specified in the documentation. Commericial use without    |
  38.       |  prior written permission is prohibited.                    |
  39.       |     GAGS is distributed as Shareware: if you like the       |
  40.       |  program, please become a registered user by sending $15    |
  41.       |  to the author:     Mark J. Welch                           |
  42.       |                     P.O. Box 2049                           |
  43.       |                     San Francisco, CA 94126-2409            |
  44.       |                     415-845-2430 (voice)                    |
  45.       |                     Fido 125/459 (private BBS node)         |
  46.       |_____________________________________________________________|
  47.       
  48.  
  49.                                       R-1
  50.  
  51.  
  52.       Introduction to the GAGS Reference Manual
  53.       -----------------------------------------
  54.       
  55.       This document describes the precise syntax and rules for the data 
  56.       files relating to the Generic Adventure Game System (GAGS). Two 
  57.       data files are associated with each game: filename.DAT and 
  58.       filename.TTL.
  59.  
  60.  
  61.       filename.TTL: The Opening Screen(s)
  62.       --------------------------------
  63.       
  64.       The file filename.TTL is not "inspected" by GAGS in any way. The 
  65.       game program merely reads the file line by line and echoes it to 
  66.       the screen, pausing if the screen fills. (You might need to 
  67.       experiment with spacing if the "More" prompt obscures sections of 
  68.       text or graphics.) 
  69.       
  70.          While any ASCII or IBM characters can be used -- including 
  71.       some control characters -- use of non-ASCII characters is not 
  72.       recommended if you believe the game might be used by people who 
  73.       do not have IBM-compatible systems. Note that Control-Z (a value 
  74.       of 26) is the end-of file character, so don't embed this 
  75.       character in your text.  
  76.       
  77.          If you want your game to be covered by standard copyright 
  78.       protection, include the statement "Copyright <year> by <name>" in 
  79.       the opening screen, and provide a mailing address. The GAGS 
  80.       copyright notice, for the game "engine," will also be displayed 
  81.       after your opening screen.  
  82.       
  83.       
  84.       filename.DAT: The Main Data File
  85.       ------------------------------
  86.       
  87.       Needless to say, filename.DAT is the file that takes all the work, 
  88.       and this reference manual is devoted to the syntax of that file.
  89.       
  90.       
  91.       Classes: NOUNs, ROOMs, and CREATUREs
  92.       ------------------------------------
  93.       There are three classes of "things" in the game: NOUNs, VERBs, 
  94.       and CREATUREs. Each object defined must have a separate 
  95.       definition and description. Other specifications may pertain to a 
  96.       room or noun, as described in the precise syntax.
  97.       
  98.       
  99.  
  100.                                       R-2
  101.  
  102.       Structure of the .DAT file
  103.       --------------------------------
  104.        (A more formal syntax)
  105.       
  106.       The .DAT file consists of a set of definitions.
  107.       
  108.       Each definition is one of the following types; each type is also 
  109.       the introductory keyword of the definition:
  110.       
  111.          NOUN            ROOM            CREATURE         INTRO
  112.          NOUN_DESCR      ROOM_DESCR      CREATURE_DESCR
  113.          TEXT            SPECIAL         PULL_DESCR
  114.          PLAY_DESCR      PUSH_DESCR      TURN_DESCR
  115.       
  116.       Each definition is ended by a word beginning with the the string 
  117.       'END_' (i.e. 'END_NOUN'). NOTE: While it is advisable to use 
  118.       matching keywords, GAGS only checks for the initial characters 
  119.       'END_' and not for the complete appropriate end-of-block keyword.  
  120.       
  121.       Comments: Any text which occurs outside a definition is 
  122.       considered a comment and is ignored. In addition, unknown words 
  123.       *within* a defintion are *usually* ignored as well. However, to 
  124.       avoid unpleasant surprises, it is recommended that a known 
  125.       nonsense word ('rem' or 'comment') be used at the start of all 
  126.       comment lines.  
  127.  
  128.  
  129.       DESCRiption types:
  130.       ------------------
  131.  
  132.       Each description type consists merely of lines of ASCII text 
  133.       which are echoed to the screen when the user expects a 
  134.       description of something defined in the game. 
  135.       
  136.       If the file contains the following lines:
  137.       
  138.               NOUN 2
  139.               Globe
  140.               Red
  141.                .
  142.                .
  143.                .
  144.               END_NOUN
  145.       
  146.               NOUN_DESCR 2
  147.               The small red globe is a perfect sphere. It glows 
  148.               slightly.
  149.               END_OF_NOUN
  150.       
  151.               NOUN_DESCR 3
  152.               The towel is about eighteen inches wide by twenty-four 
  153.               inches long, and is quite soft.
  154.               END_NOUN
  155.       
  156.       The result of a player typing 'examine globe' would be:
  157.       
  158.               The small red globe is a perfect sphere. It glows 
  159.               slightly.
  160.       
  161.       
  162.                                       R-3
  163.  
  164.       
  165.       NOUNs
  166.       -----
  167.       
  168.               NOUN nnn                <-- nn is a number from 201 to 299
  169.               Name                    <-- one-word name of the noun
  170.               Adjective               <-- one-word adjective
  171.               Short description of the noun
  172.                             REM    ^-- a one-line description of the noun
  173.               {other characteristics go here}-
  174.               END_NOUN
  175.       
  176.           Other characteristics (optional):
  177.       
  178.               SIZE nn                 <-- nn is a number from 1 to 99+
  179.               WEIGHT nn               <-- nn is a number from 1 to 99+
  180.               UNMOVABLE               <-- default is movable (carryable)
  181.               LOCATION nn             <-- nn is a room number (1-199)
  182.               READABLE                <-- default is "not readable"
  183.                                           {if READABLE then <TEXT nn> 
  184.                                            must also be defined}
  185.               CLOSABLE                <-- default is "not closable"
  186.               CLOSED                  <-- default is "open"
  187.                                           {if open then it can hold
  188.                                            something}
  189.               LOCKABLE                <-- default is not lockable
  190.               LOCKED                  <-- default is unlocked
  191.               KEY nn                  <-- default is 0
  192.                                           {noun nn unlocks this noun
  193.                                            if it's lockable}
  194.               EDIBLE                  <-- default is inedible
  195.               DRINKABLE               <-- default is undrinkable/solid
  196.               POISONOUS               <-- default is nonpoisonous
  197.                                           {predictable effect if poisonous
  198.                                            edible/drinkable noun is eaten}
  199.               ON                      <-- default is 'off' 
  200.               PUSHABLE                <-- default is not pushable
  201.                                           {PUSH_DESCR nn recommended but
  202.                                            not required if it is pushable}
  203.               PULLABLE                <--  (ditto, PULL_DESCR nn)
  204.               PLAYABLE                <--  (ditto, PLAY_DESCR nn)
  205.               TURNABLE                <--  (ditto, TURN_DESCR nn)
  206.               IS_LIGHT                <-- default is NOT is_light
  207.                                               (IS_LIGHT -> illuminates any room
  208.                                               defined as LIGHT 1 or LIGHT nnn
  209.                                               where nnn is the noun number)
  210.               POINTS                  <-- default is 0 (points awarded to player
  211.                                               if object is held at game_end)
  212.               CAN_SHOOT               <-- default is can't shoot (can the 
  213.                                               weapon be used to shoot a 
  214.                                               creature? if not, it must be 
  215.                                               thrown) 
  216.               NUM_SHOTS               <-- default is 0 (how many bullets/ 
  217.                                               charges are there initially? 
  218.                                               decremented each time the noun is 
  219.                                               fired.) 
  220.  
  221.  
  222.                                       R-4
  223.  
  224.  
  225.       ROOMs
  226.       -----
  227.       The syntax of a room definition:
  228.       
  229.  
  230.       Required:
  231.       
  232.              |<-----significant----->|<------ignored------------------------>|
  233.                                      |
  234.       
  235.               ROOM nnn                <-- nnn is a number from 1 to 199
  236.               Room Name               <-- room name (no comments!)
  237.               {other characteristics}
  238.               END_ROOM
  239.       
  240.       
  241.       Optional characteristics:       <-- optional but at least one is
  242.                                           strongly recommended
  243.       
  244.              |<-----significant----->|<------ignored------------------------>|
  245.                                      |
  246.       
  247.               {direction} nnn         <-- nnn is a number from 1 to 199
  248.                                           (default is 0)
  249.                                           {any one of 12 directions can be 
  250.                                            specified, from the list:
  251.                                               NORTH   NORTHEAST  UP
  252.                                               SOUTH   SOUTHEAST  DOWN
  253.                                               EAST    NORTHWEST  ENTER
  254.                                               WEST    SOUTHWEST  EXIT}
  255.               SPECIAL nnn             <-- optional, nnn is a room number.{If
  256.                                           present, the current definition
  257.                                           must include KEY xxx and there must
  258.                                           be a SPECIAL nnn definition}
  259.               KEY xxx                 <-- xxx is a noun number (201-299)
  260.                                           {activates special nnn}
  261.               LIGHT xxx               <-- xxx is a noun number (201-299)
  262.                                               OR the value 1 ("any light")
  263.                                               {default is 0}
  264.               POINTS xxx              <-- xxx is number of points player is
  265.                                               awarded just for getting here.
  266.                                               Default is 0.
  267.               GAME_END                <-- if this line is in the def, the
  268.                                               game ends as soon as the player
  269.                                               enters the room (the room_descr
  270.                                               is displayed, then the score).
  271.                                               (Player loses game here.)
  272.               
  273.               GAME_WIN                <-- if this line is in the def, the
  274.                                               game ends as soon as the player
  275.                                               enters the room (the room_descr
  276.                                               is displayed, then the score).
  277.                                               (Player wins game here.)
  278.  
  279.  
  280.       
  281.                                       R-5
  282.       
  283.       CREATUREs
  284.       ---------
  285.       
  286.       Required:
  287.       
  288.               CREATURE nnn            <-- nnn is a number from 301 to 399
  289.               Name                    <-- one word name
  290.               Adjective               <-- one word adjective
  291.               Short description of creature.
  292.                                       ^-- a one-liner
  293.               {optional characteristics}
  294.               END_CREATURE
  295.       
  296.       
  297.       Optional:
  298.       
  299.               LOCATION nn             <-- nn is a room number from 1 to 199.
  300.                                           {default is 0}
  301.               WEAPON nn               <-- nn is a noun number from 201 to 299
  302.                                           {default is 0}
  303.                                           {noun nnn kills this creature}
  304.               HOSTILE                 <-- default is friendly
  305.               THRESHHOLD n            <-- {n is number of times monster can be 
  306.                                           unsuccessfully attacked before it 
  307.                                           kills the player - default 3}
  308.               TIME_THRESH n           <-- {n is number of turns player can be 
  309.                                           in the same room with the creature 
  310.                                           before it kills the player - default 
  311.                                           value is -1, or disabled} 
  312.               
  313.  
  314.       
  315.       
  316.       NOTE: A player cannot exit a room containing a hostile monster. 
  317.       When killed, creatures are relocated to LOCATION 0.  Currently, 
  318.       friendly/non-hostile creatures have no effect on the game's outcome.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.       SPECIALs
  325.       --------
  326.  
  327.       If a player properly accesses the KEY to a SPECIAL, by acting on 
  328.       it in the proper ROOM in a defined manner (PLAY, PUSH, PULL, 
  329.       TURN), the player is relocated to the room specified in SPECIAL 
  330.       nn within the room definition, and the text defined in the SPECIAL nn
  331.       definition is displayed. In reality, if the entry SPECIAL nn 
  332.       within the original room definition points to the same (current) 
  333.       room, the player will not actually be moved anywhere, and the 
  334.       only effect will be to display the SPECIAL text, which is 
  335.       arranged like the '_DESCR' texts. (If the SPECIAL is activated, the 
  336.       TURN_DESCR, etc. text is NOT displayed.)
  337.  
  338.                                       R-6      
  339.  
  340.       TEXT:
  341.       -----
  342.       
  343.       TEXT is like the '_DESCR' texts, except that it is displayed only 
  344.       when a noun is 'READ' by the player.
  345.  
  346.  
  347.  
  348.       Page Pauses
  349.       -----------
  350.          Normally, the game pauses after every 22 lines of text (so that the 
  351.       player can read it), and the player then hits <CR> to read more. As you 
  352.       play-test your game, you might try to adjust your paragraph or line 
  353.       spacing so that the page breaks don't come at awkward spots and confuse 
  354.       the player. This is probably most important in the title screen and the 
  355.       INTRO text; it is less controllable in the individual room descriptions.
  356.  
  357.  
  358.       PLAY, PUSH, PULL, TURN:
  359.       -----------------------
  360.       If a noun is defined as playable, pushable, pullable or turnable 
  361.       and the player attempts to do so, the relevant '_DESCR' text is 
  362.       displayed. If the action is valid but there is no accompanying 
  363.       text, the player is informed that nothing interesting happens.  
  364.          EXCEPTION: if the specified action fulfills the current room's 
  365.       requirement for a SPECIAL, the push/pull/turn/play text is NOT 
  366.       displayed, and the SPECIAL nn text is displayed instead for the 
  367.       room the player is "moved" to.  
  368.       
  369.       Note: While "touch" is a synonym for "push" within a game, TOUCH 
  370.             is NOT a keyword in a .DAT file. Use PUSHABLE and 
  371.             PUSH_DESCR, not TOUCHABLE or TOUCH_DESCR.  
  372.  
  373.  
  374.       INTRO
  375.       -----
  376.          The introductory text is displayed during the game's initialization 
  377.       and cannot be re-read later. It also cannot be skipped over. It is 
  378.       recommended that the INTRO text be put at the end of the data file since 
  379.       it is displayed as it is encountered during initialization (locating it 
  380.       at the top of the file would result in a long delay AFTER the 
  381.       introduction and long after the initialization delay message has 
  382.       vanished).
  383.  
  384.  
  385.  
  386.       LIGHTs and darkness
  387.       -------------------
  388.          If a room has been defined with a LIGHT value other than 0, it will 
  389.       appear dark if the player enters the room empty-handed. If the LIGHT 
  390.       value is 1, any noun serving as a light will make the room visible 
  391.       (provided that the noun has been turned on). If the LIGHT value is a 
  392.       number from 201 to 299, the room will only be visible if the player is 
  393.       carrying that noun (it need not be turned on). 
  394.       
  395.  
  396.                                       R-7
  397.  
  398.       EATing, DRINKing, and dying
  399.       ---------------------------
  400.          Any object defined as EDIBLE can be eaten. Any object defined as 
  401.       DRINKable can be drunk. And any object defined as POISONOUS will kill the 
  402.       player if s/he eats or drinks it. POISONOUS has no effect if the noun is 
  403.       neither edible nor drinkable. In most situations, it is considered poor 
  404.       sport to make completely non-threatening and logically edible things 
  405.       poisonous; it is likewise questionable to make packages of rat poison 
  406.       edible but non-poisonous.
  407.  
  408.  
  409.       WEIGHT and SIZE
  410.       ---------------
  411.          Those values are there for a reason. No player can lift an object 
  412.       heavier than 100, even if it's defined as MOVABLE. Likewise, objects 
  413.       larger than 100 are too awkward to be carried. The total weight the 
  414.       player can carry is 100, so the player cannot carry two 60-weight objects 
  415.       at once. Total size limit is also 100. It is considered poor sport to 
  416.       assign large weight values to feathers and low values to large slabs of 
  417.       steel, but cruel gamewriters are able to do so. Likewise, a game will be 
  418.       less baffling if small objects (pens, tin cans) have small size values 
  419.       and large ones (desks, cars) are larger.
  420.          (Remember, of course, that if your scenario puts the player in the 
  421.       role of King Kong or Godzilla, you'd want to scale everything down so 
  422.       s/he might be able to easily carry six cars and a bus but have difficulty 
  423.       with more than one fully-loaded semi or house.)  
  424.  
  425.  
  426.  
  427.       SCORE (POINTS)
  428.       --------------
  429.          The player's progress in the game is reported in two ways: the number 
  430.       of rooms visited, and the number of points currently held. The player 
  431.       receives the defined number of points for visiting each room (default 
  432.       point value is 0), and for carrying each noun when scoring is done 
  433.       (default is 0). Players get no points for having eaten something, since 
  434.       objects which are eaten or drunk are removed from the game. There is no 
  435.       facility to reward the player for eating or punish the player for not 
  436.       eating.  
  437.          For best results, it is best to assign a point value to each room 
  438.       which the player arrives at after solving some puzzle. It's also wise to 
  439.       award a few points for out-of-the-way rooms. Objects should only have 
  440.       point values if they can reasonably be expected to be carried at the end 
  441.       of game -- if an object is too heavy to be lifted, it's not logical to 
  442.       assign it a point value. Also, make sure that the total weight and size 
  443.       of the point-valued objects doesn't exceed 99, since the player can't 
  444.       carry that weight.
  445.  
  446.       
  447.       VERBs
  448.          You can define a single synonym for each verb, as described in 
  449.       detail on page 2-16.
  450.  
  451.  
  452.  
  453.  
  454.  
  455.